# coding: UTF-8

def display():
    print("+---+---+---+")
    cell_line = "|"
    for i in range(9):
        cell_line += " " + cells[i] + " |"
        if i % 3 == 2:
            print(cell_line)
            cell_line = "|"
            print("+---+---+---+")

def mark(num):
    if num % 2:
        return "X"
    else:
        return "O"

if __name__ == '__main__':
    cells = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
    count = 0
    for i in range(9):
        row = input("Rows? : ")
        if row not in(1,2,3):           # 1,2,3 ではなかったら
            print("Input 1, 2 or 3.")   # メッセージを表示して
            continue                    # やり直し
        
        column = input("Column? : ")
        if column not in(1,2,3):        # 1,2,3 ではなかったら
            print("Input 1, 2 or 3.")   # メッセージを表示して
            continue                    # やり直し
        
        target_index = (row - 1) * 3 + (column - 1)
        if cells[target_index] == " ":          # 指定したマスが空いていたら
            cells[target_index] = mark(count)   # 置く
        else:                                   # 空いていなかったら
            print("Not empty. Try another.")    # メッセージを表示して
            continue                            # やり直し
        display()
        count += 1
